package com.punai.customer.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.punai.customer.domain.CusVersionsDiscrepancy;

import java.util.List;

/**
 * 版本信息差异Service接口
 *
 * @author zxw
 * @date 2022-12-13
 */
public interface ICusVersionsDiscrepancyService extends IService<CusVersionsDiscrepancy>
{
    /**
     * 查询版本信息差异
     *
     * @param id 版本信息差异主键
     * @return 版本信息差异
     */
    public CusVersionsDiscrepancy selectStaVersionsDiscrepancyById(Long id);

    /**
     * 查询版本信息差异列表
     *
     * @param staVersionsDiscrepancy 版本信息差异
     * @return 版本信息差异集合
     */
    public List<CusVersionsDiscrepancy> selectStaVersionsDiscrepancyList(CusVersionsDiscrepancy staVersionsDiscrepancy);

    /**
     * 新增版本信息差异
     *
     * @param staVersionsDiscrepancy 版本信息差异
     * @return 结果
     */
    public int insertStaVersionsDiscrepancy(CusVersionsDiscrepancy staVersionsDiscrepancy);

    /**
     * 修改版本信息差异
     *
     * @param staVersionsDiscrepancy 版本信息差异
     * @return 结果
     */
    public int updateStaVersionsDiscrepancy(CusVersionsDiscrepancy staVersionsDiscrepancy);

    /**
     * 批量删除版本信息差异
     *
     * @param ids 需要删除的版本信息差异主键集合
     * @return 结果
     */
    public int deleteStaVersionsDiscrepancyByIds(Long[] ids);

    /**
     * 删除版本信息差异信息
     *
     * @param id 版本信息差异主键
     * @return 结果
     */
    public int deleteStaVersionsDiscrepancyById(Long id);

    String getLastPublishId(String type,Long companyId);

    void publishToSta(String type, String[] specIds,Long companyId);

    void recordDifference(String versionId, String type, String specId, Long companyId);

    List<CusVersionsDiscrepancy> queryContrast(String type, String opType, String specIds, Long companyId);

    List<CusVersionsDiscrepancy> queryContrast(String type, String opType, Long companyId);

}
